Description

Similar to Tank_Transfer except that Tank_TransferUpTo does NOT terminate a transfer based on the transferred quantity, rather when the TO tank level rises to a certain point. If the tank empties before reaching the TO level, ProModel suspends the transfer until capacity becomes available.

Use Tank_TransferUpTo when you want to raise the level of a tank to a certain value but are not certain of the quantity needed to reach that level (e.g., the tank is draining at the same time you are trying to fill it).

Components

<FROM Tank ID>

The name or location index number of the FROM tank.

<TO Tank ID>

The name or location index number of the TO tank.

<TO Level>

Transfer until the TO tank reaches this level.

<FROM Rate>

The rate in units (gallons, pounds) per time unit defined in the General Information dialog out of the FROM tank. To use a dynamically calculated rate in the Tank_Rate subroutine, enter 0.

<TO Rate>

The rate in units (gallons, pounds) per time unit defined in the General Information dialog into the TO tank. Use 0 if the TO rate is the same as the FROM rate.

Example

An in-process tank supplies several downstream tanks and must maintain a maximum level of 20,000 gallons. Whenever the in-process tank drops below 5,000 gallons, a supply tank refills the tank at a rate of 100 gpm. To model this, define an activated subroutine for the supply tank using the following logic:

Tank_Loop //logic repeats continuously

{

WAIT UNTIL Tank_Level[InProcessTank]<=5000

Tank_TransferUpTo(SupplyTank, InProcessTank, 20000, 100, 0)

}